Method for controlling conveyance of event notifications in sub-groups defined within groups based on multiple levels of administrative privileges

ABSTRACT

An improved system and method for defining an event based upon an object location and a user-defined zone and managing the conveyance of object location event information among computing devices where object location events are defined in terms of a condition based upon a relationship between user-defined zone information and object location information. One or more location information sources are associated with an object to provide the object location information. One or more user-defined zones are defined on a map and one or more object location events are defined. The occurrence of an object location event produces object location event information that is conveyed to users based on user identification codes. Accessibility to object location information, zone information, and object location event information is based upon an object location information access code, a zone information access code, and an object location event information access code, respectively.

FIELD OF THE INVENTION

The present invention relates generally to a system and method fordefining an event based on the relationship of an object location and auser-defined zone and managing the conveyance of information related tosuch object location event among computing devices. More particularly,the present invention relates to defining an object location event basedon the location of an object relative to a user-defined zone andmanaging the conveyance of object location event information amongcomputing devices based on user identification codes associated with thecomputing devices.

BACKGROUND OF THE INVENTION

Various sources of information are available for determining thelocation of an object. Such location information sources include GlobalPositioning System (GPS) receivers, radars, radio frequencyidentification (RFID) tags, and variety of other technologies that canbe used to determine location information pertaining to an object, whichmight be moving or stationary. Such location information has been usedto track vehicles, packages, people, etc. and to enable a variety oflocation aware applications including location aware toll systems,material handling and supply chain management systems, and the like.Thus far, such location aware applications have mostly involvedcomputing devices specifically programmed to provide location-awarefunctionality in a useful but predetermined manner. For example,scanners have been used as sources of information to convey thelocations of shipping containers as they progress through various stagesen route to a destination, where the specific location of a givenshipping container on a shipping dock or in a cargo hold can be accessedat any given time

Technological advancements in computing devices and informationnetworks, in particular wireless networks, have enabled users of avariety of computing devices such as smart phones, personal digitalassistants (PDAs), laptop computers, etc. to access and utilizeinformation in more and more locations. For example, such advances nowallow users to wirelessly check their email or to surf the Internet fromanywhere that is covered by an appropriate data service. Some computingdevices have become equipped with technologies that integrate varioussources that provide information about the location of the devices. Forexample, known mobile devices have been equipped with GPS receivers,which enable the users to know where they are located at any given time.

As sources that offer location information become more useful incomputing devices and within information networks, there is a need for asystem and method that correlates events with location of objects andconveys information about such events to computing devices.

SUMMARY OF THE INVENTION

Briefly, the present invention relates to conveying information relatingto an object to one or more users. The invention requires defining azone by the one or more users. An event is also defined in terms of acondition related to a relationship between an object location and thezone. The condition can relate to entry by the object into the zone,exit by the object from the zone, or proximity of the object to the zoneUpon meeting the condition, information regarding the event is conveyedto the at least one of the one or more users. The one or more users canaccess at least one of the location information, information relating tothe zone or conveyed information regarding the event using one or moreaccess control codes. The access control codes can be configured torequire multiple levels of access control.

Thus, the present invention relates to a system and method for definingevents that are correlated with the location of one or more objects toone or more zones. Hereinafter, such events are referred to as objectlocation events. The object location events can be defined at anapplication level or a user level. The system and method of theinvention also conveys information relating to the object location eventto one or more computing devices, which, in an exemplary embodiment ofthe invention, are associated with corresponding identification codes ofone or more users. For example, association of a user identificationcode with a computing device can be an embedded association (e.g.,hard-wired) or it can be based on a user log-in at the computing device.In one embodiment, the object location event relates to informationabout a location of an object and information about a zone that isdefined by a user. The information about the location can be derivedfrom a location information source that is associated with the object.Under this embodiment, the object location event occurs by satisfactionof a defined relationship or condition between the object locationinformation and user-defined zone information. Once the condition issatisfied, information corresponding to the occurrence of the objectlocation event is conveyed to a computing device. In one embodiment ofthe invention, the information is conveyed to the computing device inaccordance with a corresponding user identification code.

In one exemplary embodiment, a user can associate a source of locationinformation with an object and define a zone. Under this arrangement,any other authorized user that has access to information about locationof an object and a user-defined zone can also define an object locationevent for that zone and receive information about occurrence of theevent. Under another arrangement, only the user who defines auser-defined zone can define an object location event for that zone.

In a further embodiment, an access code is associated with informationabout the location of an object. Under this embodiment, the objectlocation information is conveyed to the computing device based upon theuser identification code and an access code associated with the locationinformation. Under another arrangement, only the user that associates asource of location information with an object can associate the accesscode with the object location information as determined by the source oflocation information.

In yet another embodiment, an access code is associated with theuser-defined zone information. Under this embodiment, the user-definedzone information is conveyed to at least one of the computing devicesbased upon a corresponding user identification code and an access codefor the user-defined zone information. Under another arrangement, onlythe user that defines a user-defined zone can associate the access codewith the user-defined zone information.

In still another embodiment, an access code is associated withinformation about an object location event. Under this embodiment, theinformation about the object location event is conveyed to at least oneof the computing devices based upon a corresponding user identificationcode and an access code for the object location event information. Underanother arrangement, only the user that defines the object locationevent can associate the access code with the object location eventinformation.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is described with reference to the accompanyingdrawings. In the drawings, like reference numbers indicate identical orfunctionally similar elements. Additionally, the left-most digit(s) of areference number identifies the drawing in which the reference numberfirst appears.

FIG. 1 illustrates an exemplary information-sharing environmentincluding computing devices having wired or wireless connectivity to theInternet and a map server, and various objects for which locationinformation sources provide object location information;

FIG. 2 illustrates an exemplary map retrieved from the map server ofFIG. 1 via the Internet that includes an icon indicating a location of avehicle relative to three user-defined zones.

FIG. 3 illustrates a first embodiment of a method of the invention whereobject location event information is conveyed to computing devices basedupon user identification codes;

FIG. 4 illustrates a second embodiment of a method of the inventionwhere object location information is conveyed to computing devices basedupon an object location information access code and user identificationcodes, and object location event information is conveyed to computingdevices based upon user identification codes;

FIG. 5 illustrates a third embodiment of a method of the invention whereuser-defined zone information is conveyed to computing devices basedupon a user-defined zone information access code and user identificationcodes, and object location event information is conveyed to computingdevices based upon user identification codes;

FIG. 6 illustrates a fourth embodiment of a method of the inventionwhere object location event information is conveyed to computing devicesbased upon an object location event information access code and useridentification codes;

FIG. 7 illustrates a fifth embodiment of a method of the invention whereobject location information are conveyed to computing devices based uponan object location information access code and user identificationcodes, user-defined zone information is conveyed to computing devicesbased upon a user-defined zone information access code and useridentification codes, and object location event information is conveyedto computing devices based upon an object location event informationaccess code and user identification codes;

FIG. 8 illustrates an exemplary PDA Application Launch Screen used tobegin execution of a Location and Tracking software as implementedaccording to the present invention;

FIG. 9 illustrates an exemplary Main Screen of the Location and Trackingsoftware from which additional screens are accessed;

FIG. 10 illustrates an exemplary Configuration Screen of the Locationand Tracking software used to manage information corresponding to theuser of the PDA;

FIG. 11 illustrates an exemplary GPS Screen of the Location and Trackingsoftware used to manage a GPS receiver that is associated with a user'sPDA via a Bluetooth connection;

FIG. 12a illustrates an exemplary Tracking Setup Screen of the Locationand Tracking software used to control the rate at which GPS data ispolled;

FIG. 12b illustrates an exemplary Log File Selection Screen of theLocation and Tracking software used to select a log file for storing GPSinformation;

FIG. 13a illustrates an exemplary Map Screen of the Location andTracking software used to display a map received from a map server;

FIG. 13b illustrates an exemplary Data Screen of the Location andTracking software used to manage conveyance of tracking and zoneinformation to specific users based on access codes;

FIG. 13c illustrates an exemplary Zone Screen of the Location andTracking software used to define user-defined zones;

FIG. 13d illustrates an exemplary Size Screen of the Location andTracking software used to manage the size and other characteristics of adisplayed map;

FIG. 13e illustrates an exemplary About Screen of the Location andTracking software used to provide a notice concerning Tracking PrivacyIssues, software version information, and copyright information;

FIG. 14 illustrates an exemplary Group Screen of the Location andTracking software used to manage information corresponding to groups ofcontacts;

FIG. 15 illustrates an exemplary Contact Screen of the Location andTracking software used to manage information corresponding to contacts;

FIG. 16 illustrates an exemplary Camera Screen of the Location andTracking software used to manage pictures to be associated with contactlocation information;

FIG. 17 illustrates an exemplary Big Buttons Screen of the Location andTracking software used to provide easy access to key applicationcommands while walking or driving;

FIG. 18 illustrates an exemplary Map Viewer Web Page used for displayingmaps and other information conveyed by the Location and Trackingsoftware;

FIG. 19 illustrates an exemplary Contact Viewer Web Page used fordisplaying contact information conveyed by the Location and Trackingsoftware;

FIG. 20 illustrates an exemplary web page-based display of a mapoverlaid with GPS tracking and zone information conveyed by the Locationand Tracking software;

FIG. 21 illustrates an exemplary web page for creation of a zone used bythe Location and Tracking software;

FIG. 22 illustrates an exemplary map displayed on a web page depictinglogging of contact location information while a contact is within a zoneand logging of contact location information when a contact enters orleaves a zone; and

FIG. 23 illustrates an exemplary map displayed on a web page depicting apicture associated with a location of a contact.

DETAILED DESCRIPTION OF THE INVENTION

The present invention will now be described more fully in detail withreference to the accompanying drawings, in which the preferredembodiments of the invention are shown. This invention should not,however, be construed as limited to the embodiments set forth herein;rather, they are provided so that this disclosure will be thorough andcomplete and will fully convey the scope of the invention to thoseskilled in the art. Like numbers refer to like elements throughout.

The present invention provides a system and method for defining an eventthat relates to a location of an object and managing the conveyance ofrelated information among computing devices associated withcorresponding user identification codes. In accordance with the presentinvention, an information-sharing environment consists of a computingnetwork including a map server and computing devices. Objects associatedwith sources of location information provide object location informationcomprising one or more coordinates. In an exemplary embodiment, thecoordinates correspond to one or more determined locations of theobjects within an established coordinate system. In the system andmethod of the present invention, an object can comprise any device,thing, person or entity that can be located or tracked. A user of acomputing device can retrieve a map, for example, from a map server anddefine a user-defined zone on the map. According to one aspect of theinvention, an object location event is defined based on a relationshipbetween one or more object locations and one or more user-defined zones,where the occurrence of the object location event is determined when acondition associated with the relationship is satisfied. Thus, anoccurrence of the object location event is determined based on objectlocation information and user-defined zone information. In other words,an object location event is determined based on the location of anobject relative to a user-defined zone. More generally, an objectlocation event may be determined based on the location(s) of one or moreobjects relative to one or more user-defined zones. Upon occurrence ofthe object location event, object location event information is conveyedto at least one computing device based upon a corresponding useridentification code(s) associated with the computing device(s).

The present invention can be implemented in a variety ofinformation-sharing environments. The sharing of information may bemanaged among a small number of users such as a family or group offriends, or among a very large number of users such as among employeesof very large business, or among a worldwide user base such as a mightbe provided via an Internet service. Furthermore, information-sharingenvironments may involve information-sharing environments withininformation-sharing environments. That is, one or more smallerinformation-sharing environments may overlap or coexist independent ofeach other within one or more larger information-sharing environments.

In one embodiment, one or more administrators may be given privileges toconfigure the information-sharing environment. Such configuration couldinclude specifying authorized users of the environment and their accessprivileges, etc. Such configuration can also define groups of users aspart of an established organizational structure associated with theinformation-sharing environment. Pre-defined zones comprising domainscan be configured along with events that define relationships betweenobject locations relative to such domains. Moreover, sources of publiclyavailable object location information, such as weather tracking systems;can also be configured for use with the system and method of the presentinvention. Because smaller information-sharing environments can existwithin larger information-sharing information environments, variouslevels of administrator privileges can exist. For example, an Internetservice based on the present invention can be provided and administeredsuch that anyone having access to the Internet can purchase the serviceand be an authorized user. A purchaser of the service can set up acompany-wide information-sharing environment within the largerworld-wide information-sharing environment that includes companyemployees, affiliates, Board members, guests, etc. A division within acompany may set up its own information-sharing environment, and so on. Afamily can set up its own information-sharing environment and anindividual may set up his or her own information-sharing environment. Assuch, each information-sharing environment can be administered so as tomanage conveyance of information among computing devices based on useridentification codes. Management of users, groups, domains, and publiclyavailable object location information sources is described in greaterdetail below.

Referring to FIG. 1, information-sharing environment 100 includescomputing network 102 having wired and wireless network links 104, 106and connectivity to the Internet 108 that provides access to a mapserver 110 and map information 112. Also shown are objects associatedwith sources that provide object location information. Locationinformation sources are shown including Global Positioning System (GPS)satellites 114 a and GPS receivers 114 b. Examples of various types ofcomputing devices are shown interfacing with the computing network 102including a PDA 116 a, PDA having a GPS receiver 116 b, a wireless smartphone 118 a, a wireless smart phone having a GPS receiver 118 b, alaptop computer 120 a, a laptop computer having a GPS receiver 120 b, apersonal computer 122 a, a personal computer having a GPS receiver 122b, and a digital television 124. Typically, one or more of the computingdevices could be used as a control station. FIG. 1 also illustratesvarious examples of objects (e.g., devices, things, people, vehicles,animals, etc.) that can be associated with location information sourcesenabling object location information to be conveyed to computingdevices. Examples of such objects depicted in FIG. 1 include a fireman126 a, semi truck 126 b, crate 126 c, car 126 d, cow 126 e, woman 126 f,soldier 126 g, child 126 h, dog 126 i, and a building 126 j. Generally,any object can be associated with a location information source inaccordance with the present invention including the computing devicesthemselves. Such objects may be outdoors or indoors and may be includedwithin another object such as, for example, a crate 126 c within a semitruck 126 b. Such objects may be mobile or fixed. At any given time,mobile objects may be moving or stationary. An object may located in anyplace, or be any thing. Examples of a place, or thing, in accordancewith the invention include a restaurant, gas station, destination,airport, hospital, first aid station, hazardous location, vehicle repairshop, shopping mall, museum, park, residence, business, train station,bus station, post office, bank, police station, first station,department store, or storage bin.

Although FIG. 1 depicts a wireless network tower to represent wirelessconnectivity, any of various well known forms of networking technologiessuch as WI-FI, Wireless USB, cellular, Bluetooth, optical wireless, etc.can be used alone or in combination to provide the wired and/or wirelessconnectivity among the computing devices. Furthermore, any of variousother location information sources can be used in place of or incombination with GPS to provide object location information. Alternativelocation information sources include cellular network based wide arealocation systems, infrared-based location systems, ultrasound-basedlocation systems, video surveillance location systems, RF signal-basedlocation systems such as WLAN-based location systems, ultra widebandlocation systems, and near field electromagnetic ranging locationsystems. GPS systems may be augmented using space based augmentationsystems (SBAS) and/or local area augmentation systems (LAAS),radar-based information sources, and a data file. GPS systems can beoutdoor GPS sources or indoor GPS sources. Alternatives to GPS alsoinclude GLONASS and Galileo. Generally, any form of location informationsystem can be used that can provide a coordinate of an object allowingan icon indicating the object location to be depicted on a map.

In accordance with the present invention, the users of the computingdevices each have user identification codes that can be associated withthe computing devices in order to manage the conveyance of informationto the computing devices based upon the identity of the user andinformation access privileges. Such user identification codes may bemanaged by a control station or may be established based on user uniqueuser information. Such codes would typically include an identifier(e.g., a user account name or user number) and can be associated withone or more groups, and one or more information access privilegeclassifications, etc. For example, a given user may be included in agroup indicating members of a family, a company, a club, or anassociation. Similarly, employees of a company may belong to one or moredefined groups within the company (e.g., Management, Engineering,Accounting, etc.). Membership within a group may indicate the user canhave access to confidential information such as company proprietaryinformation or classified information such as the coordinates ofmilitary assets on a battlefield. Access to confidential information mayalso be based on an access privilege classification, such as a securityclearance level. In accordance with the invention, a user's accessprivileges can change by entering or leaving a domain, for example, thepremises of a shopping mall, a particular store within a shopping mall,a museum, a restaurant, an airport, etc. The use of domains inaccordance with the present invention is described in greater detailbelow. Furthermore, user identification codes are typically associatedwith other user information such as the user name, title, addressinformation, email address, phone numbers, etc. As such, useridentification codes can be associated with computing devices and usedto manage the conveyance of information among the computing devices.Association of a given user identification code with a given computingdevice may be via a user login process whereby a user enters a useraccount name and password. Certain computing devices (e.g., a PDA orsmart phone) may allow a user identification code to be embedded orprogrammed into a computing device's memory such that any user of thecomputing device is considered to be the user owning the device.

In accordance with the present invention, access codes can be associatedwith information to manage the conveyance of the information tocomputing devices. Specifically, an object location information accesscode can be associated with object location information. A user-definedzone information access code can be associated with user-defined zoneinformation and/or an object location event information access code canbe associated with object location event information. These access codescan be used in various ways. In one arrangement, an access codespecifies the individual users and/or groups of users having access tothe information to which the access code is associated. Such an accesscode would typically include specific user identification codes and/orgroup codes. For example, by a user logging into a computing device, agiven user identification code is associated with the computing device.The user identification code may also be associated with one or moregroups having corresponding group identification codes. The useridentification code and group identification code(s) are compared tothose included in the access code whereby a match would indicate theuser is authorized to receive the information. As such, the informationis conveyed to those computing devices that are associated with theusers having access to the information as specified by the access code.

Under another arrangement, an access code is assigned to information inthe form of a user-defined access code (i.e., a password) that a givenuser must have knowledge of in order to be granted access to theinformation. With this approach, the user associating the access codewith information defines the user-defined access code and then conveysthe user-defined access code to other trusted users to which the userdesires to have access to the information. Those trusted users mustenter the access code into their computing devices in order to begranted access to the information.

Under still another arrangement, an access code specifies the individualusers or groups having access to the information to which the accesscode is associated provided a given user knows the password. As such,the access code may specify one or more users and/or one or more groupsthat can enter the appropriate password in order to access theinformation. With this approach, there are two conditions that must bemet to gain access, being included on the access list and havingknowledge of the password allowing access to information to be managedby changing the access list and/or changing the password.

Under yet another arrangement, an access code may include a clearanceclassification code such as Proprietary, Confidential, Secret, TopSecret, etc. These access codes may also specify individual users orgroups and may be used with passwords. For example, employees of acompany having at least a Secret clearance classification that know thepassword are provided access to certain information. Generally, manydifferent variations of access code approaches can be used to practicethe present invention.

FIG. 2 illustrates an exemplary map 200 retrieved via the Internet froma map service provider, such as YAHOO!, displayed on a PDA or othercomputing device. Any map available from any of various map providersvia the Internet can be used in accordance with the present invention.Referring to FIG. 2, map 200 depicts an area including a portion ofHuntsville, Ala. alongside part of Redstone Arsenal, Ala. Shown on themap is an icon 202 that indicates the location of a car equipped orsomehow associated with a source of location information, such as GPS.The location information source determines the location of the car andconveys the object location information to the computing environment towhich the computing device displaying the map is interfaced. Mostlocation information sources include communications capabilitiesenabling them to convey object location information. Also shown in FIG.2 are three user-defined zones 204, 206, and 208. Such user-definedzones can be defined using various graphical techniques such asselecting a point and dragging to another point causing a rectangularshaped zone (like 208) to be defined. Alternatively, a point can beselected indicating the center of a circular zone and a dragging actionmade to define a range of the circular zone (like 206). Various othercommon drawing techniques such as free form drawing can be used todefine a zone not having a basic shape (like 204). Furthermore, nondrawing techniques can be employed to define a user-defined zoneincluding use of coordinates stored in a database. For example, theperimeter coordinates of a surveyed property that are stored in adatabase could be automatically used to define a user-defined zone inaccordance with the invention.

In accordance with the present invention, one or more object locationevents can be defined relating a given user-defined zone to the locationof a given object or objects. Occurrence of an object location event canresult in generating relevant information (i.e., object location eventinformation) or performing a function (i.e., object location eventfunction). The object location event function can include generating atime/date stamp, send an email, place a call, sound an alarm, etc. Thus,an object location event in accordance with the invention can requirethe performance or control of a function based on an object locationrelative to a user-defined zone. An object location event can, forexample, be defined to occur when a specific object or any one or moreobjects enter, leave, or are within a defined proximity of auser-defined zone. An object location event may also be defined to occurperiodically as long as an object is outside a user-defined zone orinside a user-defined zone. Alternatively, an object location event maybe defined to occur when the location of an object is determined to bewithin a given proximity of a user-defined zone, for example, within 500feet of a user-defined zone corresponding to the grounds of a school, ashopping mall, a building, an army base, etc. An event may also bedefined to occur when one or more objects or specific objects haveentered or exited one or user-defined zones or specific user-definedzones.

Referring again to FIG. 2, an example scenario is described relating thelocation of the vehicle 202 to the three user-defined zones 204, 206,and 208. The exemplary scenario involves a mother desiring to track thelocation of a teenage daughter while she drives the vehicle 202. Thevehicle 202 is equipped with a location information source (e.g., a GPSreceiver) and is configured to transmit the location of the car at somedata rate (e.g., transmits location every 5 seconds) when the car ispowered on (i.e., car key is in the on position). The mother sets anobject location information access code such that only the mother,specifically, a PDA or other computing device used by the mother, hasauthorized access to the object location information of the vehicle 202.The mother and daughter discuss her scheduled activity for the day andthe corresponding travel among different places the daughter plans togo. According to the daughter's schedule, the daughter is to attend asoftball game at a local ballpark, have lunch with friends at a localrestaurant, and then go to a library on the campus of a local universityto do research for a paper.

After discussing the daughter's plans for the day, the mother, using aPDA, retrieves a map and defines the three user-defined zones relatingto three locations the daughter is supposed to be at during the day.Specifically, the mother creates the three user-defined zones 204, 206,208 corresponding to the ballpark parking lot, restaurant, anduniversity library, respectively, and defines object location events foreach user-defined zone. For each of the three user-defined zones 204,206, and 208, the mother defines an object location event where themother will receive an email indicating the occurrence and time of theobject location events, which correspond to when her daughter's carenters or leaves any of the three user-defined zones. The mother defineseach of the three ‘leaving user-defined zone’ object location eventssuch that when they occur they cause her PDA to make a sound (e.g.,beep). The user-defined zones and defined object location events allowthe mother to know when the daughter has safely arrived at the threeplaces the daughter is to go that day. Furthermore, when the PDA beeps,the mother knows the daughter is in transit and can view the displayedmap on the PDA to watch the icon indicating the location of the car asit travels between the user-defined zones or to home. The emailsreceived based on the defined events provide a record of the daughter'sentering and leaving the three user-defined zones and can be used toindicate characteristics of movement including the speed of a vehicle.

FIG. 3 illustrates a first embodiment of a method of the invention whereobject location event information is conveyed to computing devices basedupon user identification codes. Referring to FIG. 3, a first embodimentof a method 300 of the invention consists of six steps 302-312. Thefirst step 302 is to associate user identification codes with computingdevices. The association can be an embedded association, for example,programming the user identification code in the memory of the computingdevice, or it can be accomplished via a log-in process at the computingdevices using the user identification codes. The second step 304 is toassociate a location information source with an object. Such associationmay involve equipping or attaching the object with or to the source oflocation information. A third step 306 is to define a zone. The zone canbe defined by a user at any time. A fourth step 308 defines an objectlocation event in terms of a relationship between information relatingto the object location and user-defined zone. The fifth step 310 is todetermine an occurrence of the object location event for example bydetecting entry into, exit from or proximity with the user-defined zone.A sixth step 312 is to convey object location event information tocomputing devices based upon the user identification codes, for example,by sending an e-mail. The step 312 can also involve performing afunction such as generating an alarm.

In accordance with one embodiment of the invention, any user canassociate a source of location information with an object, define auser-defined zone, and define an object location event. As such, inrelation to the example scenario of FIG. 2, steps 304-308 of method 300are used by the user (i.e., a mother) to associate a GPS device with herdaughter's vehicle and define three user-defined zones corresponding tothe ballpark parking lot, restaurant, and university library. The usercan also define object location events in terms of conditions thatrelate to entering into, leaving from or being in the proximity of thethree user-defined zones. As stated above, upon the occurrence of theobject location events, information can be conveyed to the mother'scomputing device via emails. Occurrence of event can also result inperformance of certain functions, e.g., causing the mother's PDA tobeep.

In addition to or alternatively to the event information, objectlocation and/or zone information can be conveyed to the computingdevices based on user identification codes, which comprise a first levelof access control. The conveyance of any one or combination of theforegoing information, i.e., location, zone and/or event, can be to thesame users or groups or different users or groups. A second, third, oradditional layers of access control can also be applied to any one orcombination of the location, zone and/or event information usingcorresponding access codes as further described below.

Referring to FIG. 4, another embodiment of a method 400 of the inventionconsists of six steps 302-312 of the first method 300 along with twoadditional steps 402, 404. As with the first method 300, the first twosteps 302, 304 of method 400 associate user identification codes withcomputing devices and associate a source of location information with anobject. With method 400, however, the added two steps 402, 404 associatean access code with the object location information and convey theobject location information to computing devices based upon the accesscode of the object location information and user identification codes.The final four steps 306-312 of method 400 are the same as those ofmethod 300, including conveying object location event information tocomputing devices based upon user identification codes.

Thus, FIG. 4 illustrates an embodiment where the object locationinformation can be accessed by those users that have knowledge of theaccess code of the object location information. Under this embodiment,the user can give the access code to other trusted users for accessingthe location information. Those having the knowledge of access code forthe location information may or may not have access to other informationsuch as the zone or event. Alternatively, users may be granted access tothe object location information based on the access code without havingknowledge of the access code.

In accordance with another exemplary embodiment, any one user canassociate a location information source with an object, define auser-defined zone, and define an object location event. The user thatassociates a location information source with an object can alsoassociate an access code with the object location information providedby the source. As such, in relation to the example scenario of FIG. 2,the mother can facilitate the conveyance of the object locationinformation to another trusted user, who has knowledge of the accesscode, such as the father of the daughter. The mother may or may notallow conveyance of the zone or event information to the father.Alternatively, a user may be granted access to the object locationinformation based on the object location information access code withouthaving knowledge of the access code.

Referring to FIG. 5, a third embodiment of a method 500 of the inventionconsists of six steps 302-312 of the first method 300 along with twoadditional steps 502, 504. As with the first method 300, the first threesteps 302, 304, 306 of method 500 are to associate user identificationcodes with computing devices, to associate a location information sourcewith an object, and to define a user-defined zone. With method 500,however, the added two steps 502, 504 also associate an access code withthe user-defined zone information. As a result, zone information can beconveyed to the computing devices based upon the access code for theuser-defined zone information and user identification codes. The finalthree steps 308-312 of method 500 are the same as those of method 300,including conveying object location event information to computingdevices based upon user identification codes. The event informationunder this embodiment however may or may be conveyed to those users withknowledge of the user-defined zone information access code. As such, inrelation to the example scenario of FIG. 2, the method 500 enables theuser (i.e., the mother) to associate a GPS device with her daughter'svehicle, to define three user-defined zones, and to define objectlocation events associated with the three user-defined zones causing,upon the occurrence of the object location events, emails to the sent tothe mother and her PDA to beep. By also associating user-defined zoneinformation access codes with the three defined user-defined zones, themother also enables the user-defined zone information to be conveyed toanother user with knowledge of the access code, such as the father ofthe daughter.

In a further embodiment, steps 402 and 404 of method 400 could also beused with method 500, whereby the user (i.e., the mother) alsoassociates an object location access code with the object locationinformation such that both the mother and father receive the objectlocation information allowing both parents to see the icon indicatingthe position of the daughter's car in relation to the three user-definedzones. In an alternative embodiment, any user having access to theuser-defined zone information is enabled to define an object locationevent relating object location information to the user-defined zoneinformation. Thus, under one arrangement, only the user who defines auser-defined zone can define an object location event relating to theuser-defined zone, while under another arrangement, any user(s) havingaccess to user-defined zone information can define an object locationevent relating to the corresponding user-defined zone.

FIG. 6 illustrates a fourth embodiment of a method of the inventionwhere object location event information is conveyed to computing devicesbased upon an object location event information access code and useridentification codes. Referring to FIG. 6, a fourth embodiment of amethod 600 of the invention consists of five steps 302-310 of the firstmethod 300 along with two additional steps 602, 604. As with the firstmethod 300, the first four steps 302, 304, 306, 308 of method 600associate user identification codes with computing devices, associate alocation information source with an object, define a user-defined zone,and define an object location event in terms of a relationship betweenobject location information and user-defined zone information. Withmethod 600, however, step five 602 associates an object location eventinformation access code with the object location event informationrelating to the object location event. After step six 310 determines theoccurrence of an object location event, step seven 604 conveys objectlocation event information to the computing devices based upon an accesscode for the object location event information and user identificationcodes. Thus, by using the object location event information access code,the mother could enable both parents to receive the object locationevent information corresponding to the object location events defined bythe mother. In other words, both parents could receive emails indicatingwhen the daughter entered or exited one of the three user-defined zones.In accordance with a preferred embodiment of the invention, the userthat defines object location events can also associate access code forinformation that correspond to object location events. By alsoassociating object location event information access codes with thedefined object location events, the mother can enable the objectlocation event information to be conveyed to another user with knowledgeof such access code, such as the father of the daughter. Thus, with themethod 600 in relation to the example of FIG. 2, the father wouldreceive the object location event information but may or may not receiveobject location information or user-defined zone information.

In an alternative arrangement, steps 502 and 504 of method 500 couldalso be used with method 600 whereby a user (e.g., the mother) alsoassociates an access code with the user-defined zone information forconveyance to another user with knowledge of such access code (e.g., thefather). Under such an alternative arrangement, the object locationevent can be defined by any user(s) having access to the user-definedzone information or only the user that defined the user-defined zone. Ineither case, only the user that defines an object location event canassociate an object location event information access code with objectlocation event information corresponding to the object location event.

FIG. 7 illustrates a fifth embodiment of a method of the invention whereobject location information is conveyed to computing devices based uponan object location information access code and user identificationcodes, user-defined zone information is conveyed to computing devicesbased upon a user-defined zone information access code and useridentification codes, and object location event information is conveyedto computing devices based upon an object location event informationaccess code and user identification codes. Referring to FIG. 7, in themethod 700, the steps of method 600 are again used with the addition ofthe two steps 402, 404 of method 400 and the two steps 502, 504 ofmethod 500. With these additional four steps, when referring to theexample of FIG. 2, the mother could associate object locationinformation access codes and user-defined zone information access codeswith object location information and user-defined zone information,respectively, in such a way as to allow both parents to receive emails,beeps, and view the movement of the daughter's car using theirrespective PDAs.

In accordance with the present invention, an administrator of aninformation-sharing environment maintains a database of user informationfor those having access to the information-sharing environment. Such adatabase can be maintained on a central or distributed control stationthat may be a company's computer server or on an individual's personalcomputer. Information maintained for a user typically includes a useraccount name and password and a user identification code, and mayinclude a variety of information about the user including the user'sname, address, phone number(s), email address(s), company name, title,birth date, etc. A user may be given access privileges to certainclasses of information based on the user's position or role within acompany or family, a Government security clearance, and/or for otherreasons deemed appropriate for a given information-sharing environment.

An administrator can define one or more groups to which a given user canbe associated. Groups may be defined in accordance with anorganizational structure or hierarchy. For example, an administrator foran information-sharing environment corresponding to a company may definegroups for the various organizations within the company, such as legal,accounting, shipping, etc., and for groups of users not based onorganization, such as executive, management, administrative, exemptemployees, non-exempt employees, etc. After a group has been defined,the administrator can associate individual users with one or more of thedefined groups. Similarly, a parent administering an information-sharingenvironment might define groups such as parents, teenagers, children,drivers, and so forth. Information maintained for a group typicallyincludes a group name and group identification code, and may include avariety of information about the group including the group's address,phone number, email address, website, point-of-contact, etc. As such, auser may be associated with one or more groups defined by anadministrator of an information-sharing environment.

In accordance with the present invention, any user can define a group,for example, a group of friends, a study group, etc. Information forsuch user-defined groups may be maintained in a central database or maybe maintained on an individual user's computer. As such, knowledge ofthe defined group may be available to other users of aninformation-sharing environment or may be maintained solely for anindividual user's benefit.

In accordance with the present invention, one or more locationinformation sources can be associated with an object to provide objectlocation information consisting of a one or more coordinatescorresponding to one or more determined locations of the object withinan established coordinate system. In accordance with the invention, oneor more coordinate systems can be established by an administrator todescribe object locations within an information-sharing environment. Thecoordinate system may be established to accommodate the coordinatesystem used by any suitable map service. A typical coordinate system isknown as the latitude, longitude, and height system. Alternativecoordinate systems include the Earth Centered, Earth Fixed Cartesian(ECEF X-Y-Z) coordinate system, Universal Transverse Mercator (UTM)coordinate system, Military Grid Reference System (MGRS), WorldGeographic Reference System (GEOREF), Universal Polar Stereographicprojection (UPS), national grid systems, state plane coordinates, publicland rectangular surveys, metes and bounds, etc. A coordinate system mayalso be established corresponding to a domain, for example, an officebuilding or a shopping mall. Additionally, one or more users may definea coordinate system for example, making the location of a user's home orbusiness or a user's own location the (0,0) reference point within anX-Y coordinate system. As such, computing devices used in accordancewith the invention may include means for translating between coordinatesystems. Coordinate systems may be based upon the location informationsource(s) used. For example, a GPS receiver location information sourcemay be placed at a location, for example the entry door of a building,and its GPS location in latitude and longitude and height used as a(0,0,0) reference point for a coordinate system used inside the buildingalong with a second location information source such as UWB systembetter suited for indoor operation. As such, one or more coordinatesystems established by an administrator or by a user of aninformation-sharing environment can be used to provide object locationinformation.

In accordance with the present invention, when a user associatesmultiple location information sources with an object, the user candetermine whether or how the object location information is used (e.g.,combined). In particular, the user can determine how handoffs are tooccur between location information sources such as switching amongavailable GPS satellites based on received signal strength or switchingbetween a GPS and UWB system when a user goes indoors, which might bebased on loss or degradation of a GPS signal. Handoff among locationinformation sources can be based upon object location information.

In accordance with the present invention, a user that associates aninformation location source with an object can determine how oftenobject location information is updated. Under one arrangement, the usercan determine the rate at which object location information is provided.Under another arrangement, object location information may be providedby the location information source at a certain rate which the user mayselect as the appropriate update rate or the user may select to updateobject location information less often or to only maintain (or use) thecurrent object location information. Depending on whether objectlocation information is being logged (i.e., stored) and/or conveyed toother users, decisions concerning the update rate typically involve atradeoff of available storage capabilities (e.g., in memory, to aphysical storage media, etc.) versus granularity of stored objectlocation information and resulting accuracy of its display on a map. Forexample, object location information stored in a log file once every 5seconds would allow a more accurate display of the movement of a vehiclethan object location information stored once per minute, but the onceper 5 second update rate requires twelve times the storage spacecompared to the space required to store object location information onceper minute. When only maintaining the current object locationinformation, the same memory/storage location can be repeatedlyrewritten. The selected update rate also determines how often the objectlocation information can be conveyed to users. The user can alsodetermine whether a time stamp is associated with each update toindicate the actual time that an object was at a given location.

As previously described, the user that associates an informationlocation source with an object can also associate an object locationinformation access code with the object location information provided bythe information source and can thereby manage the conveying of theobject location information to one or more users. As generally describedabove, an object location information access code can specify individualusers or groups allowed access to the object location information, mayspecify a password a user must know to receive access to the objectlocation information, and/or may include a clearance classificationcode. As such, the object location information access code determineswhich user(s) are conveyed the object location information.

In accordance with the present invention, a user that associates aninformation location source with an object can determine whether tostore object location information in a log file, which can be playedback. The storage of object location information to a log file may bethe result of the occurrence of a defined object location event. Forexample, a user could define two zones, a first object location eventthat starts logging object location information when an object exits thefirst zone, and a second object location event that ends the logging ofobject location information when the object enters the second zone,thereby allowing the movement of the object between the two zones to bereviewed at a later time. Alternatively, object location information maybe provided by a simulation. For example, military officers could definebattle plans based upon movement of personnel and equipment havinglocation information sources into and out of defined zones andcorresponding object location events. For training purposes, themovement of personnel and equipment could be produced by a simulationthat inputs the object location information into the information sharingenvironment allowing the military officers to react by changing plans,defining new zones, new object location events, etc. Furthermore, objectlocation information may be provided by emergency information sources,which might indicate the location of a fire, flood, earthquake, bridgeout, etc. or by weather information sources, which might indicate thelocation of a severe thunderstorm, tornado, winter storm, hurricane,etc.

In accordance with the present invention, object location informationand zone information is displayed on a map received from a mapinformation source. In the example described previously in relation toFIG. 2, a map from an Internet map service was used that shows thestreets of the city of Huntsville, Ala. at an appropriate scale forillustrating the movement of the daughter among three locations in thecity. Under one scenario, a user could zoom in or out from a streetscale to a world scale. Generally, any electronic map can be used inaccordance with the present invention as appropriate to meet theinformational requirements of the users involved. Furthermore, multiplemaps can be used allowing different levels of scale as appropriate forthe requirements of the user(s) involved in the sharing of information.A world map might be used, for example, that enables the locations ofships traveling to and from user-defined zones associated with variousports around the world to be displayed. A map of an amusement park mightbe used by a family visiting the park. A map may correspond to theinside of a building such as an office building or a shopping mall. Amap may correspond to a battlefield. As such, map informationcorresponding to a given electronic map would be accessible to thecomputing devices of the information sharing environment receivingobject location information, zone information, and/or object locationevent information that is to be displayed on the map. However, certaintypes of devices may be included in the information sharing environmentthat do not have the ability to receive or display a map but that canreceive useful object location information, zone information, and/orobject location event information, nonetheless. For example, anexpecting woman might define a zone around her hospital and an objectlocation event causing her Blackberry to call her sister's cellulartelephone when her car enters the zone telling her that she has safelyarrived at the hospital to deliver her baby.

Various commonly used map display management techniques can be employedin accordance with the present invention. For instance, an automaticzoom level selection scheme may be established where the zoom leveldefaults to the closest in level that can display all user-definedzones. An automatic centering approach might set the center of the mapto correspond to the location of a given object such as the currentlocation of a user or to the average location of multiple objects. Iconscan be set to flash to indicate movement or non-movement of an object.Colors of lines or areas indicating a zone may change when an object hasentered or exited the zone. Such map display management techniques maybe controllable by an administrator and/or by individual users.

In accordance with the present invention, a user can define auser-defined zone on a map that can then be used to define an objectlocation event relating object location information to user-defined zoneinformation. A user-defined zone can be defined graphically usingvarious techniques such as selecting a point and then dragging toanother point to define either a rectangular shaped zone or a circularzone, drawing a zone by freehand to create a zone having an oddly shapedboundary, etc. As such, a user-defined zone has a boundary that can bespecified in accordance with an established coordinate system. Typicallyuser-defined zone information maintained for a user-defined zoneincludes a zone identification code and its boundary coordinates and mayinclude a zone name, a zone security level, a zone danger level, etc.Generally, a user that defines a zone can associate zone informationwith the zone that can be conveyed to other users.

As stated above, a user that defines a zone can also associate a zoneinformation access code with the user-defined zone informationcorresponding to the user-defined zone and can thereby manage theconveying of the user-defined zone information to one or more users. Asgenerally described above, a user-defined zone information access codecan specify individual users or groups allowed access to theuser-defined zone information, may specify a password a user must knowto receive access to the user-defined zone information, and/or mayinclude a clearance classification code. As such, the user-defined zoneinformation access code determines which user(s) are conveyed theuser-defined zone information.

In accordance with the present invention, a user can define an objectlocation event relating object location information to user-defined zoneinformation. An object location event may be something that is to occurwhenever a specific object enters and/or leaves a specific user-definedzone or an object location event may be something that is to occurwhenever an object is or is not within a specified proximity of auser-defined zone. Under one aspect the invention, the occurrence of anobject location event results in the conveyance of object location eventinformation which includes object location information and user-definedzone information. Typically, object location event informationmaintained for a defined object location event includes an objectlocation event identification code and may include an object locationevent name, a time stamp, an object location event security level, anobject location event danger level, etc. Generally, a user that definesan object location event can associate object location event informationwith the object location event that can be conveyed to other users.Under another aspect of the invention, the occurrence of an objectlocation event results in performance of a function, including thecontrol of a device such as a camera, motion sensor, garage door, webcam, lighting device, etc.

In accordance with the present invention, a user that defines an objectlocation event can also associate an object location event informationaccess code with the object location event information corresponding tothe object location event and can thereby manage the conveying of theobject location event information to one or more users. As generallydescribed above, an object location event information access code canspecify individual users or groups allowed access to the object locationevent information, may specify a password a user must know to receiveaccess to the object location event information, and/or may include aclearance classification code. As such, the object location eventinformation access code determines which user(s) are conveyed the objectlocation event information.

An important distinction exists between the user-defined zones andobject location events of the present invention, and predefined zones(or domains) and predefined object location events that have previouslybeen used in location-aware applications. Predefined zones are used toprovide location-aware functionality in a useful but predeterminedmanner where users of computing devices within the information sharingenvironment do not define the domain(s) or the events that occur asobjects enter or leave the domains. A predefined zone may be a house, aroom, a business perimeter, or a predefined area within a much largerarea. One or more events involving the location of objects relative tothe predefined zone is predetermined. The user of the computing devicesin prior art shared information environment participates but does nototherwise control or manage the conveyance of information, which has allbeen predetermined. For instance, an alarm condition may be set when aperson carries an object having a non-deactivated RFID tag into apredefined zone about an exit to a store whereby the alarm conditioncauses a recorded warning message to play on a loudspeaker. A motiondetector may detect a person walking through a predefined area near abuilding and turn on a light. Kiosks within a zoo may interact withindividuals carrying tracking devices that enter predefined areas aboutthe kiosks. A super mall, itself a domain, may be subdivided into itstenant stores or even departments within stores, each a separate domain,and customers carrying tracking devices may be offered specials as theymove about the mall.

The user-defined zones of the present invention can be defined by anyuser of the information sharing environment. User-defined zones can beused in conjunction with domains. For example, three teenage girls, eachcarrying a smart phone with a location information source, go to a mallwhere each of the three girls is a member of the mall's interactiveshopping club. As they enter the mall, their smart phones automaticallyinterface with the information sharing environment available within themall. Their phones load the mall's map and begin to indicate theirlocations within the mall. The girls decide to split up and meet laterat their favorite hangout spot within the mall, which is a sitting areanear an escalator. One of them defines a user-defined zone on the mall'smap corresponding to the sitting area and an object location eventwhereby the smart phones are sent an email and caused to beep when anyof the girls enters the sitting area. They then split up to do someshopping. As they walk about the mall, they walk near kiosks thatrecognize their presence within predefined areas within the mall (viathe smart phones) and the kiosks provide personalized specials such as,“Cindy. Your favorite pre-washed jeans are 30% off!” When one of thegirls finishes shopping, and goes to the sitting area, the other twogirls are automatically emailed and their phones beep so that they knowto go meet their friend at the sitting area. With this example, theuser-defined zone (i.e., the sitting area) and the object location event(i.e., the emails/beeps) were not predefined as were the personalizedspecials provided by the kiosks as the girls walked into predefinedzones.

Thus, a key distinction between the user-defined zones of the presentinvention and predefined zones of previous location-aware applicationsis that the occurrence of object location events and the management ofthe conveyance of object location event information is determined by theuser of the computing device and not by someone else. Take for example,a traveling salesman who wants to make his day more efficient. Inaccordance with the present invention, prior to venturing out on theroad, the salesman determines the nine sales calls he intends to makefor the day and defines a user-defined zone about each sales calllocation. For each user-defined zone he defines object location eventsrelated to the location of his car and each zone. The time he enters orleaves each zone is to be recorded and, as he enters each zone, his PDAis to automatically receive the latest, up-to-the-minute customerinformation maintained by his sales office. For all but his last salescall he defines an object location event for when he leaves thecorresponding zone to email his next sales call to let them know thathe's en route to their business. The email sent when leaving his fourthcall specifically mentions he'll be arriving in about one hour that isto include a lunch break. He also defines an object location event toemail his wife letting her know the time when he leaves the zonecorresponding to his last sales call thus allowing her to better planher evening.

In accordance with the present invention, information packages can beassociated with object location information, user-defined zoneinformation, and/or object location event information where aninformation package may include a picture, movie, audio file, document,and/or data file. The information packages may include sensorinformation received from one or more sensors including those sensorsthat measure a characteristic of a physical environment, such astemperature, humidity, radioactivity, etc. and/or sensors that measurephysical characteristics, such as heart rate, breathing rate, etc. Atleast one time stamp may be associated with an information packageindicating the timing of the information included in the package, forexample, the times when pictures were taken or sensor measurements weremade. Under one arrangement, any user can associate an informationpackage with object location information, user-defined zone information,and/or object location event information.

In accordance with the present invention, a user that associates aninformation package with object location information, user-defined zoneinformation, and/or object location event information can also associatean information package access code with the information package and canthereby manage the conveying of the information package to one or moreusers. As generally described above, an information package access codecan specify individual users or groups allowed access to the informationpackage, may specify a password a user must know to receive access tothe information package, and/or may include a clearance classificationcode. As such, the information package access code determines whichuser(s) are conveyed the information package.

Generally, the present invention enables any user of a multiple usercomputing environment to define object location events relating objectlocation information to user-defined zones and to manage to conveyanceof object location event information based on user identification codes.By also using access codes, multiple users can collaboratively defineand manage events and manage the conveyance of corresponding objectlocation information, user-defined zone information, and/or objectlocation event information among computing devices. Moreover, thepresent invention provides a system and method for generatinguser-defined location aware applications. Described below are fourexamples of such user-defined location aware applications that aresupported by the present invention.

Parole Officer Support

Parolees have associated with them a location information source. Aparole officer can, on a case-by-case basis, identify good locations andbad locations for parolees and define object location events forentering such good and bad locations causing him to be notified of agiven parolee visiting the locations.

Pet Tracking

A pet has associated with it a location information source. The petowner defines zones that the pet is supposed to stay in (e.g., a yard)and may define zones in which the pet is not allowed (e.g., a garden).An object location event for leaving the yard sends an email and phonesthe pet owner. An object location event for entering the garden mightcause a siren to go off to scare the pet.

Child Tracking

A child has associated with it a location information source. A parentidentifies zones in the neighborhood where the child is allowed to playand explicitly not allowed to play. Object location events are definedwhere the parent is emailed or otherwise notified as the child movesabout the neighborhood.

Hiking

Several hikers have associated with them location information sources.The hiking trail as indicated on a map includes user-defined zonescorresponding to key locations along the route. Object location eventsare defined such that each hiker receives an email on their smart phonewhenever another hiker enters or exits a zone.

The present invention is implemented by a Location and Tracking softwarethat executes on PDAs, telephones, and personal computers. The Locationand Tracking software is used for tracking the location of a userwhereby user location information is conveyed to contacts based upon thelocation of the user relative to one or more zones defined by the user.As such, user location information described below corresponds to objectlocation information generally described above.

The Location and Tracking software is typically used in the LOCATIONmode. This means that a GPS connection is active and a polling rate isset to periodically send location packets indicating the location of theuser to a central database. If a user sets TRACKING to OFF, locationpackets only update the current location record. If TRACKING is set toON, location packet are saved in individual records that can bedisplayed as a ‘Mapped Track’ on a user's PDA, Phone, or PC.

Current and prior user location information for one or more users can beconveyed to one or more users having access privileges to the userlocation information for display on the one or more users' computingdevice(s). The current position of a given user is indicated by a blacksquare. As such, as the user moves, black squares indicate the currentand past location of the user thereby showing the movement or path ofthe user.

Zones comprise geographic boundaries. If the GPS receiver indicates auser's location passes over a zone boundary, an exit or entry alert isissued. A notification is sent to one or more individuals as definedwhen the zone is created. Different types of zones can be created witheach zone type causing different types of information to be conveyedwhen a user's location enters, exits, and/or is within a zone. Codesassociated with the zones determine which users receive locationinformation. As such, the codes associated with the zones correspond tothe zone information access codes and object location event informationaccess codes described generally above. Specifically, by sharing thePhone number and Code other users can ‘load’ the zone into their deviceand it will respond with alerts to the defined addressees therebyenabling group tracking and location management.

FIG. 8 illustrates an exemplary PDA Application Launch Screen 800 usedto begin execution of the Location and Tracking software. Referring toFIG. 8, a PDA application launch screen 800 typically includes variousicons corresponding to programs available for execution such as theLocation and Tracking software icon 802. When a user selects theLocation and Tracking software icon 802, the Location and Trackingsoftware is executed.

FIG. 9 illustrates an exemplary Main Screen 900 of the Location andTracking software that appears when the software is launched. The MainScreen 900 is the primary screen from which additional screens of thesoftware are accessed via the buttons labeled Maps, Contacts, GPS,Config, Groups, Camera, and Buttons. Main Screen 900 is also the screento which the user of the software is returned when closing screensassociated with the buttons. The Exit button ends execution of thesoftware and returns the user to the Application Launch Screen 800.

FIG. 10 illustrates an exemplary Configuration Screen 1000 of theLocation and Tracking software used to manage information correspondingto the user of the PDA (or other computing device). The user of theprogram accesses the Configuration Screen 1000 by selecting the Configbutton of the Main Screen 900. Configuration Screen 1000 provides fieldsfor entering a user data access code, user phone number, log file name,and a user domain or IP address. The screen is also used to togglelogging on and off.

FIG. 11 illustrates an exemplary GPS Screen 1100 of the Location andTracking software used to manage a GPS receiver that is associated witha user's PDA (or other computing device) via a Bluetooth connection. GPSScreen 1100 includes fields for displaying and controlling GPS devicesettings, a button for turning the Bluetooth connection on and off, abutton for turning the GPS device on and off, and buttons forcontrolling whether real-time or simulated GPS data is conveyed. GPSScreen 1100 also includes Setup button 1102 used to launch the TrackingSetup Screen.

FIG. 12a illustrates an exemplary Tracking Setup Screen 1200 of theLocation and Tracking software used to control the rate at which GPSinformation is polled, to examine GPS information records, and to turnon or off the TRACKING mode. Tracking Setup Screen 1200 includes Filesbutton 1202 that is used to launch Log File Selection Screen 1204 thatis used to select a log file. A log file can be written to and thenlater read, as controlled by the Use button, to cause a play back of GPSinformation.

FIG. 12b illustrates an exemplary Log File Selection Screen 1204 of theLocation and Tracking software used to select a log file for storing GPSinformation. Log File Selection Screen 1024 provides a typical Opendialog window allowing a user to open a log file stored at any storagelocation to which the user (and the user's device) has access.

FIG. 13a illustrates an exemplary Map Screen 1300 of the Location andTracking software used to display a map received from a map server. TheMap Screen 1300 is used to request and locate a map using the currentlatitude and longitude of the user, to turn the TRACKING mode on or off,to display/edit data location records, to create zones, and to size themap. These various functions are controlled via a row of buttons 1302 atthe bottom of Map Screen 1300. The row of buttons 1302 is also displayedon the bottom of Data Screen 1304, Zone Screen 1306, Size Screen 1308,and About Screen 1310.

FIG. 13b illustrates an exemplary Data Screen 1304 of the Location andTracking software used to manage conveyance of tracking and zoneinformation to specific users based on access codes. It is accessed byselecting the Data button included in the row of buttons 1302 displayedon the bottom of Data Screen 1304, Zone Screen 1306, Size Screen 1308,and About Screen 1310. Specifically, Data Screen 1304 is used to setaccess codes and to associate email addresses and phone alerts withzones.

FIG. 13c illustrates an exemplary Zone Screen 1306 of the Location andTracking software used to define user-defined zones. It is accessed byselecting the Zone button included in the row of buttons 1302 displayedon the bottom of Data Screen 1304, Zone Screen 1306, Size Screen 1308,and About Screen 1310. The Zone Screen is used to define a zone and/orto load a zone defined by another user. A user can use the Zone Screento control whether zone information is shared (i.e., made public) toother users and to control whether the TRACKING mode is on or off.

FIG. 13d illustrates an exemplary Size Screen 1308 of the Location andTracking software used to manage the size and other characteristics of adisplayed map. It is accessed by selecting the Size button included inthe row of buttons 1302 displayed on the bottom of Data Screen 1304,Zone Screen 1306, Size Screen 1308, and About Screen 1310. The SizeScreen 1308 is used to set the scale (or zoom) of the map, to turn on oroff the display of zone boundaries, and to control auto centering ofmaps.

FIG. 13e illustrates an exemplary About Screen 1310 of the Location andTracking software used to provide a notice concerning Tracking PrivacyIssues, software version information, and copyright information. It isaccessed by selecting the About button included in the row of buttons1302 displayed on the bottom of Data Screen 1304, Zone Screen 1306, SizeScreen 1308, and About Screen 1310.

The row of buttons 1302 displayed on the bottom of Data Screen 1304,Zone Screen 1306, Size Screen 1308, and About Screen 1310 also includesa Close button that when selected returns the user to the Main Screen900.

FIG. 14 illustrates an exemplary Group Screen 1400 of the Location andTracking software used to manage information corresponding to groups ofcontacts. The Group Screen 1400 is used to add or remove users from astored ‘buddy list’ containing the user name, phone number and code foreach ‘buddy’. If a public zone is available it can be selected andloaded into the user's device. Users share access codes in order toshare zones. As such, a user tells another user the access code neededto load a zone.

FIG. 15 illustrates an exemplary Contact Screen 1500 of the Location andTracking software used to manage information corresponding to contacts(i.e., other users). The Contact Screen 1500 allows the user to populateinformation corresponding to contacts such as name and addressinformation.

FIG. 16 illustrates an exemplary Camera Screen 1600 of the Location andTracking software used to manage pictures associated with user locationinformation. The Camera Screen 1600 is used to associate pictures andtext with a user and to convey the picture information to other users.The pictures correspond to information packages described generallyabove, which could also include other forms of information. The CameraScreen 1600 could alternatively be a Device Screen that controlledmultiple devices including cameras, motion sensors, garage doors, webcams, etc. and corresponding information as described previously. Asdescribed previously, picture or other information packages can beassociated with zone information or event information.

FIG. 17 illustrates an exemplary Big Buttons Screen 1700 of the Locationand Tracking software used to provide easy access to key applicationcommands while walking or driving.

FIG. 18 illustrates an exemplary Map Viewer Web Page 1800 used fordisplaying maps and other information conveyed by the Location andTracking software.

FIG. 19 illustrates an exemplary Contact Viewer Web Page 1900 used fordisplaying contact information conveyed by the Location and Trackingsoftware.

FIG. 20 illustrates an exemplary web page-based display of a map 2000overlaid with GPS tracking and zone information conveyed by the Locationand Tracking software. In FIG. 20, balloon icons labeled alphabeticallythat indicate logged locations of a user for which information isavailable. Also shown are two zones represented by rectangles. When agiven balloon is selected, information is displayed, for example, asshown in the information box in the center of the map corresponding tothe balloon labeled F. Similarly, information is displayed correspondingto either of the zones when either is selected.

FIG. 21 illustrates an exemplary web page for creation of zones 2100that can be used with the Location and Tracking software. As shown inFIG. 21, a zone is created by selecting a first point on a map indicatedby a first balloon and dragging to another point on a map indicated by asecond balloon where the two points correspond to opposite corners of arectangle representing the user-defined zone boundary.

FIG. 22 illustrates an exemplary map displayed on a web page 2200depicting logging of user location information while a user is within azone and logging of user location information when a user enters orleaves a zone. As depicted in FIG. 22, one type of zone 2202 providesuser location information periodically while a user is within the zone.Another type of zone 2204 only provides user location information whenthe user enters or exits the zone.

FIG. 23 illustrates an exemplary map displayed on a web page 2300depicting a picture associated with a location of a user. As shown inFIG. 23, a balloon labeled F corresponds to a location of a user. Aninformation package consisting of a picture that has been associatedwith the user's location is available as part of the informationdisplayed when the balloon is selected. In the information window is athumbnail of the picture which when selected displays the fully enlargedpicture.

The Location and Tracking software described herein was provided as anexample of the types of applications that are enabled by the presentinvention. While particular embodiments and several exemplaryapplications (or implementations) of the invention have been described,it will be understood, however, that the invention is not limitedthereto, since modifications may be made by those skilled in the art,particularly in light of the foregoing teachings. It is, therefore,contemplated by the appended claims to cover any such modifications thatincorporate those features or those improvements which embody the spiritand scope of the present invention.

The invention claimed is:
 1. A method executed by one or more servers,which are configured by a tracking application software for controllingconveyance of event notifications in a tracking service, the trackingapplication software configuring the one or more servers to tracklocations of mobile objects and convey the event notifications based onevent conditions met at the locations of the mobile objects, wherein thelocations of the mobile objects are determined based on informationreceived from wireless location information sources (LISs), the methodcomprising: (a) using a first computing device in a first network ofcomputing devices of the tracking service to cause transmission of arequest to configure the tracking application software by a firstadministrator of the tracking service having a first administrator IDincluded in the request, the first administrator having a first level ofadministrative privilege including a privilege to define groups andcontrol access to authorized user accounts of users of the trackingservice in the groups, wherein a group has a group administrator who isa user having a group administrator account in the tracking service; (b)receiving an authorization of the request from a second computing devicein a second network of computing devices including one or more serversconfigured by the tracking application software to access a database(DB) maintained by a second administrator of the second network whogrants access to the DB based on the transmitted first administrator IDincluded in the request; (c) using the first level of administrativeprivilege to 1) identify the group by a group identification code (ID)in the DB and 2) control access to the group administrator account, (d)granting access to the group administrator account before giving asecond level of administrative privilege to the group administrator toidentify, in the DB, a sub-group within the group and a user who is asub-group administrator for the sub-group having a sub-groupadministrator account in the tracking service; (e) granting access tothe sub-group administrator account before giving a third level ofadministrative privilege to the sub-group administrator to identify oneor more authorized users of the sub-group in the DB; (f) receiving 1)one or more event conditions for occurrence of a group event that is metat determined locations of a first mobile object and a second mobileobject and 2) an access list that identifies one or more recipients ofan event notification after the group event occurs; and (g) conveyingthe event notifications only to the one or more recipients on the accesslist after determining that the event condition is met.
 2. The method ofclaim 1 further including the step of checking the second level ofadministrative privilege under a first level of access control beforereceiving the event condition, wherein the first level of access controlis based on a group administrator ID that identifies the groupadministrator in the DB.
 3. The method of claim 2 further including thestep of checking the third level of administrative privilege under asecond level of access control before receiving the event condition,wherein the second level of access control is based on a sub-groupadministrator ID that identifies the sub-group administrator in the DB.4. The method of claim 1, wherein the event condition is received from acomputing devices associated with a user in the group or subgroup. 5.The method of claim 1, wherein the event notification contains adetermined location and an event ID which identifies the group or thesub-group event in the DB.
 6. The method of claim 5, wherein the user inthe group or subgroup is allowed to specify the event ID in the DB. 7.The method of claim 5, wherein the first administrator specifies theevent ID in the DB.
 8. The method of claim 1, where the event conditionis met based on a determined location relative to a zone, and whereinthe event notification contains a zone ID in the DB that identifies thezone.
 9. The method of claim 8, wherein a user in the group or subgroupspecifies the zone ID in the DB.
 10. The method of claim 8, wherein thefirst administrator specifies the zone ID in the DB.
 11. The method ofclaim 1, wherein the event condition is based on a sensor measurement,and wherein the event notification contain an information packageincluding an image or a video conveyed after the event condition is metbased on the sensor measurement.
 12. The method of claim 1, wherein theevent condition is based on a sensor measurement, wherein the eventnotification contains the sensor measurement.
 13. The method of claim12, wherein the sensor measurement is speed.
 14. The method of claim 1,wherein a recipient includes a user of the group or sub-group having anauthorized user account, and wherein the event notification is conveyedafter giving access to the authorized user account under a third levelof access control that is based on a user ID that identifies the user inthe DB.
 15. The method of claim 1, the event condition is met based onproximity of a determined location to a boundary or another device. 16.The method of claim 1, wherein the event notification is conveyed undera first level of access control that is based on the first administratorID, a second level of control that is based on a group administrator IDthat identifies the group administrator in the DB and a third level ofaccess control that is based on the access list.
 17. The method of claim16, wherein the first mobile object is a device used by a driver of avehicle having a driver account in the tracking service, wherein theevent notification is conveyed to the device under a fourth level ofaccess control that is based on a driver ID that identifies the driverin the DB.
 18. The method of claim 17, wherein the method furtherincludes receiving a log in request from the device containing thedriver ID, granting access having the driver account before receivingedits to a log file that contains a movement and a non-movement of thevehicle.
 19. The method of claim 18, wherein the log file contains adetermined location where the vehicle is powered on.
 20. The method ofclaim 16, wherein the first mobile object is a device used by a driverof a vehicle, wherein the event condition is based on proximity of thedriver to the vehicle as determined bases on a received signal strengthfrom a Bluetooth, a RFID or an NFC device.